class opt_feat
{
public:  
    inline opt_feat(const std::string  in_path, 
		    const std::string  in_actionNames, 
		    const std::string  in_feat_path,
		    const int in_col, 
		    const int in_row,
		    const int in_n_cent);
    
    
    inline void testing_svm(std::string path_multi, std::string model_name);
    

    
double THRESH;
double THRESH_2;

const std::string path;
const std::string actionNames;
const std::string feat_path;

const int row;
const int col;

const int n_samples_tr; //# samples training
const int n_samples_te; //# samples testing

int  N_cent;
int L; // Number of frames per segment;

//std::vector < vec > feat_video_i; not used
std::vector < vec > feat_all_videos_action_i;
//std::vector < mat > diag_covs_all_videos;


field<std::string> actions;
field<std::string> videos;

//std::vector< mat > covs;
//std::vector <vec> label_multivideo;
rowvec arma_multi_labels;


  private:
  inline void feature_video( std::string one_video );
  inline void dist_overlapping_frame( std::string one_video, std::string per );
  inline void features_testing_overlapping( std::string path_multi );
  inline void svm_predict( std::string model_name, std::string path_multi );
  inline fvec calc_dist_one_cov(const mat & cov);

 
  
};